package com.dingding.order.core.publish.dao;

import java.util.List;

import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import com.dingding.common.core.base.dto.ResponseEntity;
import com.dingding.common.core.beans.special.UserspecialorderT;
import com.dingding.order.dto.publish.special.ReqPublishOrderDTO;
import com.dingding.order.dto.publish.special.ResPublishOrderDTO;

/**
 * 
 * @ClassName: IPublishSpecialOrderDao 
 * @Description: 发布专车订单DAO接口
 * @author YHQ
 * @date 2016年8月23日 下午2:42:10
 * @since V2.4.0
 * 
 */
public interface IPublishSpecialOrderDao {

	/**
	 * 
	 * @Title: getUserSpecialOrdertList 
	 * @Description: 根据用户Id获取其未完成订单列表
	 * @param userId 用户Id
	 * @author YHQ 
	 * @return List<Userspecialordert>    返回类型
	 * 
	 */
	public List<UserspecialorderT> getUserSpecialOrdertList(String userId);
	
	/**
	 * 
	 * @Title: releaseOrder 
	 * @Description: 发布订单操作 
	 * @param reqPublishOrderDTO 待发布的订单信息
	 * @author YHQ 
	 * @return boolean    返回类型
	 * 
	 */
	public UserspecialorderT releaseOrder(ReqPublishOrderDTO reqPublishOrderDTO);
	
	/**
	* @Description: 添加订单到消息队列
	* @param response
	* @param userspecialordert    设定文件
	* @return void    返回类型
	* @throws
	 */
	public void addSpecialOrderToQueue(ResponseEntity<ResPublishOrderDTO> response, UserspecialorderT userspecialordert);
	
}
